With the commercial emergence of the Internet, there is considerable incentive to create semantically rich data bases (or knowledge bases) for diverse applications ranging from electronic product catalogs and product configurators to medical terminology's for clinical information systems. Knowledge representation formalisms for expressing the content of such semantic databases include IBM's Object-Centered Constraint Model (OCCM) formalism.
To date, in all previous database systems, checking of database update operations per se has been implemented directly as part of the systems source code using a programming language as C or Lisp. A common alternative or supplemental technique for maintaining database correctness is the use of database triggers. A trigger is defined as:
"An action causing the automatic invocation of a procedure, for instance to preserve referential integrity. A trigger goes into effect when a user attempts to modify data with an insert or delete, or update command. A trigger can instruct the system to take any number of actions when a specified change is attempted. By preventing incorrect, unauthorized, or inconsistent changes to data, triggers help maintain the integrity of the database" Source: Sybase SQL server Release 10.0 Transact-SQL User's guide, as cited in the FOLDOC on-line dictionary. PA1 (1.) This modular rule based system for semantic checking fosters a clean separation between database update operations and checking/enabling preconditions for those operations This separation simplifies the task of revising and extending the system's semantic checking capabilities. PA1 (2.) This system's semantic checking behavior can be changed at run time by selecting among the different "modes" for which rule checks and rule actions have been defined. PA1 (3.) Applications can readily customize semantic checking for their own needs by adding, removing, and/or replacing rule checks and their rule actions.